<?php
namespace SimplePHp\Rendering;

/**
 *
 */
class EchoElement extends AutoResolveElement implements IElement {
	/**
	 * 元素转换成
	 * 还要解析子节点
	 * 也要包子节点的解析放在这里
	 * php代码用于嵌入到缓存文件中
	 *
	 *子节点遍历解决方案  去除再放回
	 *
	 *<echo v='i' assign='i.value'/>
	 *
	 * @return [type] [description]
	 */
	public function trunPhp(&$html, &$ele) {
		$this->phpElement($html, $ele, $this->parseEle($ele), self::PHP_OPEN_TAG);
	}
	/**
	 * 解析xml文本  提取
	 * xml文本中的数据
	 * @return [type] [返回解析后可以替换的phpcode]
	 */
	private function parseEle($ele) {
		$check = $ele->hasAttribute("v") || $ele->hasAttribute("assign") ? true : false;
		if ($check) {
			if ($ele->hasAttribute("v")) {
				$code = $ele->getAttribute("v");
				return "echo '" . $code . "';";
			}
			if ($ele->hasAttribute("assign")) {
				$code = $ele->getAttribute("assign");
				return "echo $" . $code . ";";
			}
		} else {
			throw new Exception("echo标签不完整", 1);
		}
	}
	/**
	 * 取得tagname
	 * @return [type] [description]
	 */
	public function getTagName() {
		return "echo";
	}
}